﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KirinAppCore.Plateform.Windows;


[Flags]
public enum WindowExStyle : uint
{
    DLGMODALFRAME = 0x00000001,
    TOPMOST = 0x00000008,
    TOOLWINDOW = 0x00000080,
    NOACTIVATE = 0x00000040,
    APPWINDOW = 0x00040000,
    LAYERED = 0x00080000,
    WINDOWEDGE = 0x00000100,
    TRANSPARENT = 0x00000020,
    COMPOSITED = 0x02000000,
    NOINHERITLAYOUT = 0x00100000,
    LAYOUTRTL = 0x00400000,

}

[Flags]
public enum WindowStyle : uint
{
    OVERLAPPED = 0x00000000,
    CAPTION = 0xc00000,
    POPUP = 0x80000000,
    CHILD = 0x40000000,
    MINIMIZE = 0x20000000,
    VISIBLE = 0x10000000,
    DISABLED = 0x08000000,
    CLIPSIBLINGS = 0x04000000,
    CLIPCHILDREN = 0x02000000,
    MAXIMIZE = 0x01000000,
    BORDER = 0x00800000,
    DLGFRAME = 0x00400000,
    VSCROLL = 0x00200000,
    HSCROLL = 0x00100000,
    SYSMENU = 0x00080000,
    THICKFRAME = 0x00040000,
    GROUP = 0x00020000,
    TABSTOP = 0x00010000,
    MINIMIZEBOX = 0x20000,
    MAXIMIZEBOX = 0x10000,
    SIZEFRAME = 0x40000,
    POPUPWINDOW = POPUP | BORDER | SYSMENU,
    OVERLAPPEDWINDOW = OVERLAPPED | CAPTION | SYSMENU | SIZEFRAME | MINIMIZEBOX | MAXIMIZEBOX,
}

public enum SW : int
{
    HIDE,
    NORMAL,
    MINIMIZED,
    MAXIMIZE,
    SHOWNOACTIVATE,
    SHOW,
    MINIMIZE,
    SHOWMINNOACTIVE,
    SHOWNA,
    RESTORE,
    SHOWDEFAULT,
    FORCEMINIMIZE,
}

[Flags]
public enum SWP : uint
{
    NOSIZE = 0x0001,
    NOMOVE = 0x0002,
    NOZORDER = 0x0004,
    NOREDRAW = 0x0008,
    NOACTIVATE = 0x0010,
    FRAMECHANGED = 0x0020,
    SHOWWINDOW = 0x0040,
    HIDEWINDOW = 0x0080,
    NOCOPYBITS = 0x0100,
    NOOWNERZORDER = 0x0200,
    NOSENDCHANGING = 0x0400,
    DEFERERASE = 0x2000,
    ASYNCWINDOWPOS = 0x4000,
    DRAWFRAME = FRAMECHANGED,
    NOREPOSITION = NOOWNERZORDER
}